package student.aistar.day05;

public class UserTest {

    public static void main(String[] args) {
        //通过new关键字来构建User类得对象
        //实例化一个User对象
        //对象是具体的
        //对象是具体的
//        User user = new User();
//        System.out.println(user.age);
        //通过对象可以去访问所有的公开的非静态的成员[属性或者方法得]
        //int resultId = user.id;


        //给实体类中得定义的数组进行赋值
        //user.hobbies = new String[]{"coding", "eating"};

        //当属性私有化之后, 可以通过setter方法和getter方法 - 获取/设置属性
        //构建一个User对象

        //通过new关键字在JVM得堆空间中开辟一块区域 - 保存对象
        //然后将这个对象在堆空间中得内存地址赋值给了引用变量user
        //并且保存在栈区
        User user = new User();//对象的实例化 - 具体的用户存在着
        user.setId(100);
        user.setUsername("admin");


        System.out.println(user.getId());
        System.out.println(user.getUsername());

        User user1 = new User();//类是构建对象的蓝图/模板
        user1.setId(100);
        user1.setUsername("admin");

        System.out.println(user1.getId()+":"+user1.getUsername());

        System.out.println(user == user1);//false

        //tech.aistar.day05.User@330bedb4
        //tech.aistar.day05.User@2503dbd3
        System.out.println(user);
        System.out.println(user1);
        //类是构建对象得蓝图/模板
        User user2 = new User();
        user2.setUsername("习大大");
        System.out.println(user2.getUsername());


        //创建一个UserInfo对象
        UserInfo userInfo = new UserInfo();
        userInfo.setId(1);
        userInfo.setPhone("110");

        //设置
        user2.setUserInfo(userInfo);

        //获取
        UserInfo info2 = user2.getUserInfo();
        String phone = info2.getPhone();
        System.out.println(phone);

        System.out.println(user2.getUserInfo().getPhone());
    }
}
